package com.zkthink.ceres.promotion.dto;

import com.zkthink.base.entity.SuperEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

/**
 * <p>
 * 实体类 营销活动申请日志表
 * </p>
 *
 * @author kellen
 * @since 2020-06-27
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = false)
@Builder
@ApiModel(value = "PromotionAuditLogUpdateDTO", description = "营销活动申请日志表")
public class PromotionAuditLogUpdateDTO implements Serializable {

  private static final long serialVersionUID = 1L;

  @ApiModelProperty(value = "主键")
  @NotNull(message = "id不能为空", groups = SuperEntity.Update.class)
  private Long id;

  /**
   * 营销活动id
   */
  @ApiModelProperty(value = "营销活动id")
  @NotNull(message = "营销活动id不能为空")
  private Long promotionId;
  /**
   * 申请id
   */
  @ApiModelProperty(value = "申请id")
  @NotNull(message = "申请id不能为空")
  private Long applyId;
  /**
   * 步骤 1:报名  2审核通过 3审核不通过
   */
  @ApiModelProperty(value = "步骤 1:报名  2审核通过 3审核不通过")
  @NotNull(message = "步骤 1:报名  2审核通过 3审核不通过不能为空")
  private Integer processStage;
  /**
   * 审核人
   */
  @ApiModelProperty(value = "审核人")
  @NotEmpty(message = "审核人不能为空")
  @Length(max = 64, message = "审核人长度不能超过64")
  private String auditBy;
  /**
   * 审核备注
   */
  @ApiModelProperty(value = "审核备注")
  @NotEmpty(message = "审核备注不能为空")
  @Length(max = 255, message = "审核备注长度不能超过255")
  private String auditRemark;
  /**
   * 是否删除0否 1是
   */
  @ApiModelProperty(value = "是否删除0否 1是")
  @NotNull(message = "是否删除0否 1是不能为空")
  private Integer isDelete;
}
